home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / aplc / read_me < prev   
Encoding:
Text File  |  1987-04-15  |  3.0 KB  |  74 lines

  1. WARNING ----- WARNING ------ WARNING ------
  2.  
  3. The APL Compiler is experimental software distributed for your
  4. entertainment and amusement.  The following cautions should be noted:
  5.  
  6. 1. It is buggy.  I know it.  I try to fix the bugs when I find them and
  7. when I have time, but often neither one nor the other happens.
  8.  
  9. 2. There is no support.  I try to answer reasonable questions when I have
  10. time, but as in number 1 I often don't.
  11.  
  12. Needless to say, the usual qualifications about there being no guarantees
  13. that this software is suitable for anything at all apply.
  14.  
  15. In addition, the following problems can be noted
  16.  
  17. 3. There is almost no documentation.  The references listed at the end of
  18. this note can help some, reading the source code (like reading apl.lex to
  19. see what the input language is like) can help more, but in general the
  20. outlook is bad.  ONE OF THESE DAYS I hope to find time to write some good
  21. documentation, both for the user level and for the internals (there is a
  22. good bit of pretty mathematics hidden in the algorithms contained herein),
  23. but see notes 1 and 2 (above).
  24.  
  25. RESTRICTIONS
  26.  
  27. Here are some of the known restrictions
  28.     1. laminate isn't implemented
  29.     2. axis don't work with the catenate operator
  30.     3. over-take doesn't work, in particular the scalar extension to
  31.         take isn't done correctly.
  32.     4. Encode only works with a vector on the left (I'm still not sure
  33.         I understand the semantics in the larger case).
  34.  
  35.     5. intra procedure analysis is incomplete, inter procedure analysis
  36.         is not working at the moment.
  37.     6. The branch idiom -> (expression)/Label doesn't seem to work.
  38.     7. You cannot have an assignment statment inside of a branch.
  39.  
  40. REFERENCES
  41.  
  42. L. Guibas and D. Wyatt ``Compilation and Delayed Evaluation in APL'', 
  43. Proceedings of the 5th POPL conference
  44. (describes how transposes and rotations can be executed efficiently)
  45.  
  46. T. Budd, An APL Compiler, University of Arizona Technical Report 81-17
  47. (describes the first version of the compiler, now very outdated).
  48.  
  49. T. A. Budd, J. M. Treat
  50. Extensions to Grid Selector Composition and Compilation in APL
  51. Information Processing Letters 19 (1984) 117-123.
  52. (describes how the Guibas algorithms are added to the APL compiler)
  53.  
  54. INSTALLATION INSTRUCTIONS
  55.  
  56. 1. if the apl compiler is to be available to all users, copy the file
  57. aplc.h to /usr/include, or wherever include files are read from.
  58. (as distributed, it is assumed that include files will be read from the
  59. users area.  If the file aplc.h is moved to /usr/include, then the printf
  60. in line 44 of dcls.c should be modified to issue an include in the <> form,
  61. instead of the "" form, as per unix conventions).
  62.  
  63. 2. type ``make all'' to make all the sources (this will take half an hour
  64. or so).
  65.  
  66. 3. There is a hard path contained in the variable P in the shell script
  67. ``aplc''.  Modify this to point to the directory containing the binary
  68. files created in step 2.
  69.  
  70. 4. Move aplc to the appropriate bin directory.
  71.  
  72. 5. There is a test program ulam.apl, try typing ``aplc ulam.apl'', if this
  73. compiles with no problems, type ``a.out'' to execute.
  74.